// 使用CommonJS格式以避免异步导入问题
const path = require('path');

// 导出配置
module.exports = [
  // 忽略规则
  { ignores: ['node_modules/', 'dist/', 'coverage/', 'src/services/'] },
  
  // 基本配置 - 只包含必要的规则
  {
    files: ['**/*.{js,jsx,ts,tsx}'],
    languageOptions: {
      ecmaVersion: 2020,
      sourceType: 'module',
      globals: {
        window: true,
        document: true,
        console: true,
        process: true
      }
    },
    rules: {
      // 基础规则
      'no-console': ['warn', { allow: ['warn', 'error'] }],
      'no-debugger': 'error',
      
      // 强制使用TypeScript的规则 - 这是我们的主要目标
      'no-restricted-syntax': [
        'error',
        {
          selector: 'Program',
          message: '请使用TypeScript (.ts/.tsx) 文件格式而非JavaScript (.js/.jsx)，以获得更好的类型安全性',
        },
      ]
    }
  },
  
  // TypeScript文件例外规则
  {
    files: ['**/*.{ts,tsx}'],
    rules: {
      'no-restricted-syntax': 'off' // 允许TypeScript文件
    }
  },
  
  // 配置文件例外规则
  {
    files: ['config/**/*.js', '*.config.js'],
    rules: {
      'no-restricted-syntax': 'off' // 允许配置文件使用JavaScript
    }
  }
];